package com.deyuanyun.pic.ctrl.app.mapper;

import com.deyuanyun.pic.ctrl.app.domain.CtrlLoginLog;
import com.deyuanyun.pic.ctrl.app.domain.Device.*;
import com.deyuanyun.pic.ctrl.domain.EqptFavorites;
import com.deyuanyun.pic.ctrl.domain.PipeFollow;
import com.deyuanyun.pic.ctrl.domain.RecodeSaalAnode;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * @Description 腐蚀控制app底层mapper
 * @author Jerry
 * @date 2016-09-20
 */
public interface CtrlMapper {
    /**
     *
     * 腐蚀控制登录
     * @param Account
     * @return
     */
    List<Map<String,Object>> login(@Param("Account") String Account);

    /**
     * 查询用户的真实姓名
     * @param userId
     * @return
     */
    Map<String,Object> selectRealName(String userId);

    /**
     * 通过公司id查找公司相关信息
     * @param companyId
     * @return
     */
    Map<String,Object> selectCompanyName(String companyId);


    /**
     * 写入登录日志
     * @param pbfLoginLog
     * @return
     */
    int insertLog(CtrlLoginLog ctrlLoginLog);

    /**
     * 更新关注记录
     * @param record
     * @return
     */
    int updateFollow(PipeFollow record);

    /**
     * 更新关注收藏
     * @param eqptFavorites
     * @return
     */
    int updateFavouite(EqptFavorites eqptFavorites);

    /**
     * 通过设备id来更新收藏记录
     * @param eqptFavorites
     * @return
     */
    int updateFavouriteByEqptId(EqptFavorites eqptFavorites);

    /**
     * 注入阴保电源记录表
     * @param recodeCpPowerDto
     */
    void insertCpPower(RecodeCpPowerDto recodeCpPowerDto);

    /**
     * 注入长效参比记录表
     * @param recodeReferenceDto
     */
    void insertReference(RecodeReferenceDto recodeReferenceDto);

    /**
     *注入辅助阳极地床记录表
     * @param recodeAnodesbedDto
     */
    void insertAnodesbed(RecodeAnodesbedDto recodeAnodesbedDto);

    /**
     * 注入绝缘装置记录表
     * @param recodeInsedJointDto
     */
    void insertInsedJoint(RecodeInsedJointDto recodeInsedJointDto);

    /**
     * 注入防浪涌保护器记录表
     * @param recodeAntiSurgeDto
     */
    void insertAntiSurge(RecodeAntiSurgeDto recodeAntiSurgeDto);

    /**
     * 注入阴极保护跨接线记录表
     * @param recodeCpJumperDto
     */
    void insertCpJumper(RecodeCpJumperDto recodeCpJumperDto);

    /**
     * 注入阴保测试桩记录表
     * @param recodeCpTestStationDto
     */
    void insertCpTestStation(RecodeCpTestStationDto recodeCpTestStationDto);

    /**
     * 注入牺牲阳极记录表
     * @param recodeSaalAnodeDto
     */
    void insertSaalAnode(RecodeSaalAnodeDto recodeSaalAnodeDto);

    /**
     * 注入排流装置记录表
     * @param recodeDrainageDto
     */
    void insertDrainage(RecodeDrainageDto recodeDrainageDto);
}
